package com.xxx.mall.converter;

import com.xxx.mall.dto.SkuDTO;
import com.xxx.mall.dto.SpuAttrValueDTO;
import com.xxx.mall.dto.SpuDTO;
import com.xxx.mall.dto.SpuSkuAttrValueDTO;
import com.xxx.mall.model.Sku;
import com.xxx.mall.model.Spu;
import com.xxx.mall.model.SpuAttrValue;
import com.xxx.mall.model.SpuSkuAttrValue;
import com.xxx.mall.vo.SpuAttrValueVO;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * @author 邢晨旭
 * {@code @date} 2023/11/24
 */
@Mapper(componentModel = "spring")
public interface SpuConverter {

    Spu toSpu(SpuDTO spuDTO);

    SpuAttrValue toSpuAttrValue(SpuAttrValueDTO dto);
    SpuAttrValue toSpuAttrValue(SpuAttrValueVO vo);

    List<SpuAttrValue> toSpuAttrValue(List<SpuAttrValueDTO> dto);

    SpuSkuAttrValue toSpuSkuAttrValue(SpuSkuAttrValueDTO dto);

    List<SpuSkuAttrValue> toSpuSkuAttrValue(List<SpuSkuAttrValueDTO> dto);

    Sku toSku(SkuDTO dto);

    List<Sku> toSku(List<SkuDTO> dto);
}
